package ar.maikoova.models;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import ar.maikoova.modelsControllers.ProyectoController;

public class Proyecto {

	private int idProyecto;
	private String codigoProyecto;
	private String nombreProyecto;
	private Terreno terrenoProyecto;
	private List<UnidadFuncional> departamentosProyecto;
	private List<Consumo> consumosProyecto;
	private float estimacionProyecto;
	private float porcentajeProyecto;
	private String estadoProyecto;
	private String fechaInicioProyecto;
	private String fechaFinalEstimadoProyecto; 
	private String fechaFinalProyecto; 
	
	
	public Proyecto(){
		
		this.idProyecto=0;
		this.codigoProyecto="";
		this.nombreProyecto="";
		this.terrenoProyecto= new Terreno();
		this.departamentosProyecto= new ArrayList<UnidadFuncional>();
		this.consumosProyecto= new ArrayList<Consumo>();
		this.estimacionProyecto=0;
		this.porcentajeProyecto=0;
		this.estadoProyecto="";
		this.fechaInicioProyecto= "";
		this.fechaFinalEstimadoProyecto= "";
		this.fechaFinalProyecto= "";
		
	}

	public Proyecto(int idProyecto, String codigoProyecto, 
			String nombreProyecto,
			Terreno terrenoProyecto,
			ArrayList<UnidadFuncional> departamentosProyecto,
			ArrayList<Consumo> consumosProyecto,
			float estimacionProyecto, float porcentajeProyecto,
			String estadoProyecto, String fechaInicioProyecto, 
			String fechaFinalEstimadoProyecto, String fechaFinalProyecto) {
		
		this.idProyecto = idProyecto;
		this.codigoProyecto=codigoProyecto;
		this.nombreProyecto = nombreProyecto;
		this.terrenoProyecto = terrenoProyecto;
		this.departamentosProyecto = departamentosProyecto;
		this.consumosProyecto = consumosProyecto;
		this.estimacionProyecto = estimacionProyecto;
		this.porcentajeProyecto = porcentajeProyecto;
		this.estadoProyecto = estadoProyecto;
		this.fechaInicioProyecto = fechaInicioProyecto;
		this.fechaFinalEstimadoProyecto=fechaFinalEstimadoProyecto;
		this.fechaFinalProyecto = fechaFinalProyecto;
	}

public Proyecto(Proyecto nuevoProyecto){
		
		this.idProyecto=nuevoProyecto.getIdProyecto();
		this.codigoProyecto=nuevoProyecto.getCodigoProyecto();
		this.nombreProyecto=nuevoProyecto.getNombreProyecto();
		this.terrenoProyecto=nuevoProyecto.getTerrenoProyecto();
		this.departamentosProyecto= nuevoProyecto.getDepartamentosProyecto();
		this.consumosProyecto= nuevoProyecto.getInsumosProyecto();
		this.estimacionProyecto=nuevoProyecto.getEstimacionProyecto();
		this.porcentajeProyecto=nuevoProyecto.getPorcentajeProyecto();
		this.estadoProyecto=nuevoProyecto.getEstadoProyecto();
		this.fechaInicioProyecto= nuevoProyecto.getFechaInicioProyecto();
		this.fechaFinalEstimadoProyecto=nuevoProyecto.getFechaFinalEstimadoProyecto();
		this.fechaFinalProyecto= nuevoProyecto.getFechaFinalProyecto();
}

public int getIdProyecto() {
	return idProyecto;
}

public String getNombreProyecto() {
	return nombreProyecto;
}

public String getCodigoProyecto() {
	return codigoProyecto;
}

public void setCodigoProyecto(String codigoProyecto) {
	this.codigoProyecto = codigoProyecto;
}

public String getFechaFinalEstimadoProyecto() {
	return fechaFinalEstimadoProyecto;
}

public void setFechaFinalEstimadoProyecto(String fechaFinalEstimadoProyecto) {
	this.fechaFinalEstimadoProyecto = fechaFinalEstimadoProyecto;
}

public void setDepartamentosProyecto(List<UnidadFuncional> departamentosProyecto) {
	this.departamentosProyecto = departamentosProyecto;
}

public void setInsumosProyecto(List<Consumo> consumosProyecto) {
	this.consumosProyecto = consumosProyecto;
}

public Terreno getTerrenoProyecto() {
	return terrenoProyecto;
}

public List<UnidadFuncional> getDepartamentosProyecto() {
	return departamentosProyecto;
}

public float getEstimacionProyecto() {
	return estimacionProyecto;
}

public float getPorcentajeProyecto() {
	return porcentajeProyecto;
}

public String getEstadoProyecto() {
	return estadoProyecto;
}

public List<Consumo> getInsumosProyecto() {
	return consumosProyecto;
}

public void setInsumosProyecto(ArrayList<Consumo> insumosProyecto) {
	this.consumosProyecto = insumosProyecto;
}

public void setIdProyecto(int idProyecto) {
	this.idProyecto = idProyecto;
}

public void setNombreProyecto(String nombreProyecto) {
	this.nombreProyecto = nombreProyecto;
}

public void setTerrenoProyecto(Terreno terrenoProyecto) {
	this.terrenoProyecto = terrenoProyecto;
}

public void setDepartamentosProyecto(ArrayList<UnidadFuncional> departamentosProyecto) {
	this.departamentosProyecto = departamentosProyecto;
}

public void setEstimacionProyecto(float estimacionProyecto) {
	this.estimacionProyecto = estimacionProyecto;
}

public void setPorcentajeProyecto(float porcentajeProyecto) {
	this.porcentajeProyecto = porcentajeProyecto;
}

public void setEstadoProyecto(String estadoProyecto) {
	this.estadoProyecto = estadoProyecto;
}

public String getFechaInicioProyecto() {
	return fechaInicioProyecto;
}

public String getFechaFinalProyecto() {
	return fechaFinalProyecto;
}

public void setFechaInicioProyecto(String fechaInicioProyecto) {
	this.fechaInicioProyecto = fechaInicioProyecto;
}

public void setFechaFinalProyecto(String fechaFinalProyecto) {
	this.fechaFinalProyecto = fechaFinalProyecto;
}
public int insert() {
	ProyectoController pController = new ProyectoController();
	try {
		return pController.insert(this);
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return -1;
}
public int update() {
	ProyectoController pController = new ProyectoController();
	return pController.update(this);
}
public int delete() {
	ProyectoController pController = new ProyectoController();
	return pController.delete(this);
}
}
